Skip to content

DPL: add allocator to forward a fair::mq::Message payload by shallow copy#15577

Open
ehellbar wants to merge 2 commits into
AliceO2Group:devfrom
ehellbar:pr15577
Open

DPL: add allocator to forward a fair::mq::Message payload by shallow copy#15577
ehellbar wants to merge 2 commits into
AliceO2Group:devfrom
ehellbar:pr15577

Conversation

@ehellbar

@ehellbar ehellbar commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

[[nodiscard]] DataRefIndices initialIndices() const { return {0, 1}; }
[[nodiscard]] DataRefIndices endIndices() const { return {size_t(-1), size_t(-1)}; }
[[nodiscard]] DataRef getAtIndices(DataRefIndices idx) const { return record->getAtIndices((int)slot, idx); }
[[nodiscard]] fair::mq::Message* getPayloadAtIndices(DataRefIndices idx) const { return record->getPayloadAtIndices((int)slot, idx); }

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't we already have an helper which does that?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see it, at least not for what I am doing here.

I define the getter e.g. in https://github.com/AliceO2Group/AliceO2/pull/15577/changes#diff-5d24f98b5c6098b6ad0a1ab814450dec590c82b86147d85c5a34afa0521171a6R239, where I use the DataRefIndices directly since we anyway calculate them in the InputRecordIterator.

There is https://github.com/AliceO2Group/AliceO2/blob/dev/Framework/Core/include/Framework/DataModelViews.h#L209, but it uses some indices from which the vector indices need to be computed first, so it is more expensive than what I need to do. Or are you referring to something else?

@alibuild

alibuild commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

Error while checking build/O2/fullCI_slc9 for b4570d8 at 2026-07-09 22:32:

## sw/BUILD/O2-full-system-test-latest/log
command /sw/slc9_x86-64/O2/slc9_x86-64-slc9_x86-64-local12/prodtests/full-system-test/dpl-workflow.sh had nonzero exit code 137
[8840:internal-dpl-injected-dummy-sink]: [22:31:57][ERROR] Failed binding socket internal-dpl-injected-dummy-sink.metric-feedback[0].push, address: ipc://@metric-feedback-0, reason: Address already in use
[8840:internal-dpl-injected-dummy-sink]: [22:31:57][ERROR] failed to attach channel metric-feedback[0] (bind on ipc://@metric-feedback-0)
[8840:internal-dpl-injected-dummy-sink]: [22:31:57][ERROR] 1 of the binding channels could not initialize. Initial configuration incomplete.
[8840:internal-dpl-injected-dummy-sink]: [22:31:57][FATAL] error while setting up workflow in o2-raw-file-reader-workflow: 1 of the binding channels could not initialize. Initial configuration incomplete.
[ERROR] Workflow crashed - PID 8840 (internal-dpl-injected-dummy-sink) did not exit correctly however it's not clear why. Exit code forced to 128.
[ERROR] Workflow crashed - PID 8722 (qc-task-FDD-DigitQcTaskFDD) was killed abnormally with Killed and exited code was set to 137.
[ERROR] Workflow crashed - PID 8725 (qc-task-FT0-DigitQcTaskFT0) was killed abnormally with Killed and exited code was set to 137.
[ERROR]  - Device qc-task-FDD-DigitQcTaskFDD: pid 8722 (exit 137)
[ERROR]  - Device qc-task-FT0-DigitQcTaskFT0: pid 8725 (exit 137)
[ERROR]  - Device internal-dpl-injected-dummy-sink: pid 8840 (exit 128)
[INFO]    - First error: [22:31:57][FATAL] error while setting up workflow in o2-raw-file-reader-workflow: 1 of the binding channels could not initialize. Initial configuration incomplete.
[ERROR] SEVERE: Device qc-task-FDD-DigitQcTaskFDD (8722) returned with 137


## sw/BUILD/o2checkcode-latest/log
--
========== List of errors found ==========
++ GRERR=0
++ grep -v clang-diagnostic-error error-log.txt
++ grep ' error:'
grep: error-log.txt: binary file matches
++ GRERR=1
++ [[ 1 == 0 ]]
++ mkdir -p /sw/INSTALLROOT/2c15ddac5a09fe8d92752ff9e498dc2f11be629c/slc9_x86-64/o2checkcode/1.0-local115/etc/modulefiles
++ alibuild-generate-module
+ HAS_BIN=
+ HAS_LIB=
+ HAS_CMAKE=
+ HAS_ROOT=
+ '[' 0 '!=' 0 ']'
+ cat
+ printf 'if ![ is-loaded '\''BASE/1.0'\'' ] {\n module load BASE/1.0\n}'
+ echo 'BUILD_REQUIRES=CMake alibuild-recipe-tools defaults-release'
BUILD_REQUIRES=CMake alibuild-recipe-tools defaults-release
+ FULL_BUILD_REQUIRES='defaults-release Alice-GRID-Utils CMake UUID bz2 safe_int json-c googlebenchmark alibuild-recipe-tools Python-modules-list MPFR ninja-fortran O2-customization double-conversion date ninja pytorch_cpuinfo FairCMakeModules'
+ echo 'FULL_BUILD_REQUIRES=defaults-release Alice-GRID-Utils CMake UUID bz2 safe_int json-c googlebenchmark alibuild-recipe-tools Python-modules-list MPFR ninja-fortran O2-customization double-conversion date ninja pytorch_cpuinfo FairCMakeModules'
FULL_BUILD_REQUIRES=defaults-release Alice-GRID-Utils CMake UUID bz2 safe_int json-c googlebenchmark alibuild-recipe-tools Python-modules-list MPFR ninja-fortran O2-customization double-conversion date ninja pytorch_cpuinfo FairCMakeModules
++ env
++ cut -f1 -d=
++ grep -v '^DEFAULT_'
++ grep -v PKGREVISION
++ grep -v ALIBUILD_RECIPE_TOOLS
++ grep REVISION
++ sed -e s/_REVISION//
+ for x in $(env | cut -f1 -d= | grep -v "^DEFAULT_" | grep -v PKGREVISION | grep -v ALIBUILD_RECIPE_TOOLS | grep REVISION | sed -e 's/_REVISION//')
++ eval 'echo $LIBFFI_REVISION'
+++ echo 10
[0 more errors; see full log]

Full log here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants